/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package funda.appius.Presupuesto;

import funda.appius.arquitectura.AbstractFunda;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author payo
 */
public class Listado_Indirectos extends AbstractFunda{
    
    private ArrayList<Seccion_Indirectos> LstSeccionIndirectos;
    private int IdPresupuesto, IdListadoIndirectos;

    public int getIdListadoIndirectos() {
        return IdListadoIndirectos;
    }

    public void setIdListadoIndirectos(int IdListadoIndirectos) {
        this.IdListadoIndirectos = IdListadoIndirectos;
    }

    public int getIdPresupuesto() {
        return IdPresupuesto;
    }

    public void setIdPresupuesto(int IdPresupuesto) {
        this.IdPresupuesto = IdPresupuesto;
    }

    public ArrayList<Seccion_Indirectos> getLstSeccionIndirectos() {
        return LstSeccionIndirectos;
    }

    public void setLstSeccionIndirectos(ArrayList<Seccion_Indirectos> LstSeccionIndirectos) {
        this.LstSeccionIndirectos = LstSeccionIndirectos;
    }
    
    
    
    public Listado_Indirectos()
    {
        super();
    }

    public Listado_Indirectos(int IdPresupuesto) {
        super();
        this.IdPresupuesto = IdPresupuesto;
        this.IdListadoIndirectos = Integer.parseInt(insertarId().toString());
    }

    
    @Override
    protected void fillFunda(ResultSet row) {
         try{
            int x =0;
            this.IdListadoIndirectos = row.getInt(++x);
            this.IdPresupuesto = row.getInt(++x);
            this.LstSeccionIndirectos = new ArrayList<Seccion_Indirectos>();
            List<AbstractFunda> abs = AbstractFunda.getAllFrom("seccionindirectos", "IdSeccionIndirectos", " IdListadoIndirectos", IdListadoIndirectos,Seccion_Indirectos.class);
            for(AbstractFunda val : abs)
                this.LstSeccionIndirectos.add((Seccion_Indirectos)val);   }
        catch(Exception e){}
    }

    @Override
    protected void Comandos() {
        this.id = "IdListadoIndirectos";
        this.tabla = "listadoindirectos";
        this.strDelete = "DeleteListadoIndirectos";
        this.strInsertar = "InsertarListadoIndirectos";
        this.strInsertarId = "InsertarIdListadoIndirectos";
        this.strUpdate = "UpdateListadoIndirectos";
    }

    @Override
    public ArrayList<Object> getAtributos() {
        ArrayList<Object> lst = new ArrayList<Object>();
        lst.add(IdPresupuesto);
        lst.add(IdListadoIndirectos);
        return lst;
    }
    
     @Override
    public Listado_Indirectos get(Object id) {
        AbstractFunda abs = AbstractFunda.getAbstractFunda(new Listado_Indirectos(),id,tabla,this.id);
        Listado_Indirectos c = (Listado_Indirectos)abs;
        return c;
    }
    
    public ArrayList<Listado_Indirectos> getAll() {
        List<AbstractFunda> abs = AbstractFunda.getAll(tabla,id,this.getClass());
        ArrayList<Listado_Indirectos> lst = new ArrayList<Listado_Indirectos>();
        for(AbstractFunda af : abs)
            lst.add((Listado_Indirectos)af);
        return lst;
    }
    
}
